This invention relates to a computer system to which a distributed KVS is applied.
In recent years, there has been an explosive increase in data amount to be processed by application programs in computer systems. There is known a distributed memory caching technology as a technology for speedily processing a large amount of data by using a large number of servers (see, for example, JP 2011-191835 A). The distributed memory caching technology is a technology for integrating memories of a plurality of servers to build a memory space (memory store) for storing a large amount of data. With this, it is possible to realize parallelization of processing through division arrangement of data to a plurality of servers and a speedup of input/output by storing the data in the integrated memory.
In the distributed memory caching technology, a distributed key-value store (distributed KVS) for handling data having a key-value data format is employed in order to distribute the large amount of data among the plurality of servers. Key-value data has a data structure in which a key serving as an identifier of data and a value serving as a body of the data are associated with each other, and is managed by a combination of [key, value].
For example, in a case where the distributed KVS is employed for a file formed of a plurality of records, a piece of key-value data is generated from one record, and a plurality of pieces of key-value data are divided and arranged on the plurality of servers based on a range of a key (key range). An application running on each server processes the divided and arranged a plurality of pieces of key-value data in parallel, to thereby be able to realize a speedup of processing.
JP 2011-191835 A includes the description “The management computer manages fragmentation definition information indicating a manner of allocation of data of the file and file management information for managing the state of allocation of the data of the file, and allocates the data of the file stored in the storage device to a distributed memory storage in accordance with the fragmentation definition information. The application computers executes an application program and an access management program. The application computers, by executing the access management program, receives an access to data of the file from the application program, obtains the file management information about the file to be accessed from the management program, and accesses the data allocated to the distributed memory storage on the basis of the file management information.”